_require local "../../basis.smi"
_require local "../../basis/main/SMLSharp_Runtime.smi"
_require local "./SQLErrors.smi"
_require "./SQLBackendTy.smi"
_require local "./MySQL.smi"
_require local "./KeyValuePair.smi"
_require local "./SQLBACKEND.sig"
_require "./Numeric.smi"
_require "./builtintypes/timestamp/TimeStamp.smi"

structure SMLSharp_SQL_MySQLBackend =
struct
  type conn (= ptr)
  type res (= {})
  type value (= string)
  type server_desc = string

  val execQuery : conn * string -> res
  val closeConn : conn -> unit
  val closeRes : res -> unit
  val getDatabaseSchema : conn -> SMLSharp_SQL_BackendTy.schema
  val columnTypeName : SMLSharp_SQL_BackendTy.ty -> string
  val connect : string -> conn
  val fetch : res -> bool
  val getValue : res * int -> value option
  val intValue : value -> int option
  val intInfValue : value -> intInf option
  val wordValue : value -> word option
  val realValue : value -> real option
  val real32Value : value -> real32 option
  val stringValue : value -> string option
  val charValue : value -> char option
  val boolValue : value -> bool option
  val timestampValue : value -> SMLSharp_SQL_TimeStamp.timestamp option
  val numericValue : value -> SMLSharp_SQL_Numeric.num option
end
